Save and restore bidi cache when saving and restoring the iterator.
authorEli Zaretskii <eliz@gnu.org>
Sun, 3 Jul 2011 18:36:56 +0000 (21:36 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sun, 3 Jul 2011 18:36:56 +0000 (21:36 +0300)
commit746165c4a3fe05cf2d14a826c6c4ab5907566b92
treec4199288c3b0845bcabe6e890de598b22b9de688
parent380de71544a136b31b6061eecdd7883333daae20
Save and restore bidi cache when saving and restoring the iterator.
Not tested, just compiled.

 src/bidi.c (bidi_shelve_cache, bidi_unshelve_cache): New functions.
 src/dispextern.h (bidi_shelve_cache, bidi_unshelve_cache): Declare
 prototypes.
 src/xdisp.c (SAVE_IT, RESTORE_IT): New macros.
 (pos_visible_p, face_before_or_after_it_pos)
 (back_to_previous_visible_line_start)
 (move_it_in_display_line_to, move_it_in_display_line)
 (move_it_to, move_it_vertically_backward, move_it_by_lines)
 (try_scrolling, redisplay_window, display_line): Use them when
 saving a temporary copy of the iterator and restoring it back.
src/ChangeLog
src/bidi.c
src/dispextern.h
src/xdisp.c